Sistema de Nombrado en Java (JNDI) [Parte I]

Muchos m�todos de los paquetes JNDI lanzan una NamingException cuando necesitan indicar que la operaci�n solicitada no se ha realizado.

Normalmente, usaremos un bloque try/catch para envolver los m�todos que lanzan NamingException.

try {
    Context ctx = new InitialContext();
    Object obj = ctx.lookup("somename");
} catch (NamingException e) {
    // Handle the error
    System.err.println(e);
}

.��rbol de Clases Exception

El JNDI tiene un rico �rbol de excepciones que nace de la clase NamingException.

Los nombres de las clases de las excepciones son auto-explicativos y los veremos m�s abajo. Para manejar una subclase particular de NamingException, capturamos la clase de forma separada. Por ejemplo el siguiente c�digo trata especialmente a AuthenticationException y sus subclases.

try {
    Context ctx = new InitialContext();
    Object obj = ctx.lookup("somename");
} catch (AuthenticationException e) {
    // attempt to reacquire the authentication information
    ...
} catch (NamingException e) {
    // Handle the error
    System.err.println(e);
}

.�Enumeraciones

Operaciones como Context.list() y DirContext.search() devuelven una NamingEnumeration . En estos casos, si ocurre un error y no se devuelve ning�n resultado, se lanzar� NamingException o una de sus subclases apropipadas en el momento en que se llame al m�todo. Si ocurre un error pero hay algunos resultados para devolver, se devuelve una NamingEnumeration para que podamos obtener dichos resultados. Cuando todos los resultados se han acabado, llamar a NamingEnumeration.hasMore() causar� que se una lance una NamingException (o una de sus subclases)� para indicar el error. En este punto, la enumeraci�n ya no es v�lida y no se puede llamar a m�s m�todos sobre ella.

Por ejemplo, si realizamos una search() y especificamos un contador l�mite (n) de cu�ntas respuestas devolver, el search() devolver� una enumeraci�n consitente en como m�ximo n resultados. Si el n�mero de resultados excede de n, cuando se llame a NamingEnumeration.hasMore() la vez n+1, se lanzar� una SizeLimitExceededException.

Puedes ver la explicaci�n sobre el contador l�mite en esta secci�n para ver un ejemplo.

.�Ejemplos en este Tutorial

En el c�digo de ejemplo en l�nea que est� dentro de este tutorial, normalmente se omiten las clausulas try/catch para una mejor lectura. Normalmente, como aqu� s�lo se meustran fragmentos de c�digo, s�lo se incluyen las l�neas que ilustran directamente el concepto. Veremos los bloques try/catch apropiados para NamingException si miramos los ficheros fuentes que acompa�an este tutorial.

.�Excepciones en el Paquete javax.naming

Aqu� tenemos las direcciones en el API de Sun de las excepciones contenidas en el paquete javax.naming:

.�Excepciones en el Paqute javax.naming.directory

Aqu� tenemos las direcciones en el API de Sun de las excepciones contenidas en el paquete javax.naming.directory.

.�Excepciones en el Paquete javax.naming.ldap

Aqu� tenemos las direcciones en el API de Sun de las excepciones contenidas en el paquete javax.naming.directory:

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
SIGUIENTE ARTÍCULO